package com.assignwork.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import org.springblade.core.tool.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * VoyageInfoVO
 */
@Data
@ApiModel(value = "VoyageInfoVO对象", description = "航次信息")
public class VoyageInfoVO {

    /** 主键id;主键id */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键id")
    private Long id;
    
    /** 创建时间 */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    
    /** 更新时间 */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;
    
    /** 船ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "船ID")
    private Long shipId;
    
    /** 航次号 */
    @ApiModelProperty(value = "航次号")
    private String voyageNo;
    
    /** 货类 */
    @ApiModelProperty(value = "货类")
    private String cargoType;
    
    /** 签证吨 */
    @ApiModelProperty(value = "签证吨")
    private BigDecimal visaTon;
    
    /** 进港吃水 */
    @ApiModelProperty(value = "进港吃水")
    private String inDraught;
    
    /** 出港吃水 */
    @ApiModelProperty(value = "出港吃水")
    private String outDraught;
    
    /** 船头 */
    @ApiModelProperty(value = "船头")
    private String prowHawser;
    
    /** 船尾 */
    @ApiModelProperty(value = "船尾")
    private String sternHawser;
    
    /** 进出口 */
    @ApiModelProperty(value = "进出口")
    private String impExp;
    
    /** 内外贸 */
    @ApiModelProperty(value = "内外贸")
    private String domesticForeign;
    
    /** 预结 */
    @ApiModelProperty(value = "预结")
    private Integer isBudget;
    
    /** 完船 */
    @ApiModelProperty(value = "完船")
    private Integer isFinish;
    
    /** 停时 */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "停时")
    private LocalDateTime residenceTime;
    
    /** 小货类 */
    @ApiModelProperty(value = "小货类")
    private String liteCargoType;
    
}